System and method for transmitting data via data networks, particularly the internet, using an asynchronous data connection

ABSTRACT

To provide a bi-directional data connection via the Internet, even across firewalls and starting from a client which is not visible as a server on the Internet, a first connection request for establishing a first transmission channel is sent from a first data processing device of a client via a data connection to a server of an automation system. The server responds to the request using a second transmission channel. The data connection is thus kept open permanently, allowing data to be sent and received bi-directionally. The operations between the client and the server are temporally independent of each other by at least one data network, in particular, the Internet. To guarantee a temporally unlimited service life of a data connection, dummy data is transmitted, for example, at regular intervals from the server to the client, even if no useful data is present, to maintain at least one data connection.

The invention relates to a system and a method for transmitting data viadata networks, particularly the Internet, using an asynchronous datalink.

With the aid of data networks, any computers, “clients”, which haveaccess to these data networks can be used to set up a data link to aserver. This applies particularly to the worldwide web (WWW), which isalso referred to as the Internet. The terms web or Internet server andweb or Internet client used below serve to illustrate the associationwith the specific data network the Internet, but their operation doesnot differ from the meaning of the terms client and server which areused for all possible data networks.

On the Internet, a data link is set up to a “web server” or “Internetserver”. An Internet server is accessed, by way of example, using knownInternet browsers, e.g. Internet Explorer from the company Microsoft orNetscape Communicator from the company Netscape. When setting up a datalink from a “web client” or “Internet client”, a request is sent to anInternet server by entering and sending a “URL address”. When a datalink has been set up, the Internet server called responds with an “HTMLpage” (HTML=Hyper Text Markup Language), also called a web page. The“web clients” communicate with the web servers using transportprotocols. Every data link between web client and web server is thusbased on a request protocol and, in response thereto, on a responseprotocol.

The invention is based on the object of specifying a system and a methodfor transmitting data via data networks, particularly the Internet,which system and method allow temporally independent, bidirectionaltransmission of data even between two data processing apparatuses whichcan be linked to data networks, particularly the Internet, and evenbehind data protection devices, particularly firewalls, even if one ofthe two data processing apparatuses is not visible on the data network,particularly the Internet.

This object is achieved by a method for transmitting data via datanetworks, particularly the Internet, in which a client is used to send afirst connection request for setting up at least one first transmissionchannel to a server via a data link, where at least one data link,particularly a transmission channel, is permanently open which isprovided for sending data from the server to the client via at least onedata network at any time independently of actions by the client.

This object is achieved by a system for transmitting data via datanetworks, particularly the Internet, having at least one data processingapparatus, which can be linked to a data network, particularly theInternet, on a client, where the first data processing apparatus isprovided for setting up at least one data link in the form of a firsttransmission channel to a server, with at least one data link,particularly a transmission channel, being permanently open which isprovided for sending data from the server to the client via at least onedata network at any time independently of actions by the client.

The invention is based on the insight that the Internet cannot be usedfor a genuine “active” data link to a client which is not visible on theInternet, but rather permits only a data link between any clientconnected to the Internet and any server which is visible on theInternet. This drawback is eliminated surprisingly easily by virtue ofthe client first being used to set up a first transmission channel tothe Internet server in an automation system. To this end, the client,which can be used as a fully functional operating and observation systemin the automation system following setup of the bidirectional datalinks, is used to send a first connection request to the Internet serverin the automation system. The Internet server responds to thisconnection request and, in order to keep this data link permanentlyopen, the Internet server transmits dummy data, for example even in theabsence of user data, to the client or transmits information to theclient which notifies the client that transmission of user data is alsointended. In this case, dummy data are data which are generated by theserver itself and are sent to the client for the purpose of maintainingthe data link.

This installs a permanently open data link which the Internet server andhence the automation system can use to send data to the client and henceto the O&O system asynchronously at any time and independently ofactions by the client.

Independently thereof and in parallel therewith, the client and theInternet server can also communicate with one another conventionally onthe Internet by virtue of the client respectively directing a newrequest to the Internet server, which the latter responds to using anappropriate response.

A system of mutually independent data links is thus available which boththe client, that is to say the O&O system, and the automation system canindependently use to communicate with one another. Between client andserver, or in other words between operating and observation system andautomation system, the functions of a bidirectional data link areensured, which data link also permits, in particular, data transmissionfrom the server to the client, since the server is constantly connectedto the client via a permanently open transmission channel, which meansthat bidirectional data transmission between client and server ispossible in both directions at independent times. Such a data link isparticularly suitable for operating and observing an automation system,where the client can function as an operating and observation systemwhich can be activated from any computer connected to the Internet. Incontrast to conventional Internet data links, this results in anasynchronous data transmission method which does not require the clientto be visible on the Internet or to have installed a “web server”(IIS=Internet Information Server). This makes it possible to set up abidirectional data link to a server from any location in the world, infront of and behind data protection devices, particularly firewalls.Since the data link is activated from the client, i.e. from the O&Osystem, it is not necessary for the server itself to actively set up adata link to the client. In addition, it is also not necessary to changethe configuration of the client.

Permanent maintenance of a data link can be ensured by virtue of dummydata being transmitted, even in the absence of user data, in order tomaintain at least one transmission channel.

One particularly advantageous refinement of the invention ischaracterized in that the dummy data are sent from the server to theclient. In this case, it has been found to be particularly advantageousfor dummy data to be transmitted from the server to the client every25-30 seconds in the absence of user data, in order to keep the datalink open.

Another advantageous refinement of the invention is characterized inthat a permanent data link, particularly a transmission channel, ismaintained between server and client by virtue of the server sending theclient information which notifies the client that transmission of datais intended.

Another advantageous refinement of the invention is characterized inthat a data link, particularly a transmission channel between server andclient, which the server uses to transmit volumes of data up to astipulated size is permanently maintained by virtue of the serversending a request for a new connection request to the client before thestipulated volume of data is reached, and the client then sending a newconnection request for setting up at least one new transmission channelto the server. A size of 15-25 MB for the volume of data to betransmitted via a transmission channel has been found to be veryadvantageous, since this improves the performance or the response timesof the system on account of communication across firewall computers toan extraordinary extent, and hence the cost/benefit ratio is at its mosteffective.

Another advantageous refinement of the invention is characterized inthat a transport protocol, particularly an Internet transport protocol,is provided for controlling the data transmission. In this regard, theuse of the hypertext transport protocol (HTTP) as the transport protocolhas been found to be particularly advantageous, since applicationthereof is extraordinarily simple and the adjustment complexity is verylow.

One particularly advantageous application of the invention, usingavailable infrastructures, particularly Internet infrastructures forbidirectional data transmission, involves the method for operating andobserving an automation system, for example, being provided via at leastone data network, particularly via the Internet, since this allows verysimple implementation of remote diagnosis, for example, as a result ofwhich any faults arising can be inexpensively analyzed and eliminated inthe course of ongoing operation of automation systems, for example, atlocations which are at a great physical distance from one another.

Another advantageous refinement of the invention is characterized inthat the client does not need to be visible on the Internet or to haveinstalled an Internet information server (IIS).

Connection of the automation and communication technology can easily bedesigned such that the operating and observation system on the clientinitiates the provision of at least one transmission channel as adistributed object, particularly as a DCOM object, and that connectionsetup to the automation system is effected via a DCOM server.

The invention is described and explained in more detail below withreference to the exemplary embodiments illustrated in the figures, inwhich:

FIG. 1 shows a block diagram of an exemplary embodiment of an automationsystem having an Internet link for operation and observation, and

FIG. 2 shows a schematic timing diagram for possible user datacommunication between client and automation system.

FIG. 1 shows an exemplary embodiment of a system for operating andobserving automation systems 5 which have, by way of example,programmable logic controllers (PLCs), numerical controllers (NC) and/ordrives. The system features an operating and observation system 1 (O&Oclient) which is linked to a firewall computer 2 via an internal datanetwork 6, e.g. an Ethernet. The operating and observation system 1,also referred to below as O&O system 1 for short, has an associatedlocal intranet address which does not need to be known on the Internet.The line 9 a in FIG. 1 is used to indicate the firewall on the firewallcomputer 2, which surrounds the internal communication network 31(=intranet 31) of the firewall server 2. The reference 10 identifies theworldwide data communication network the Internet. The firewall computer2 can be linked to the Internet 10 by means of a connecting line 7, e.g.ISDN. The automation system 5 can be linked to the Internet 10 via anInternet server 4, which is used as an O&O server 4 for the automationsystem 5 and has the Internet address dcomserver.khe.siemens.de/, forexample, via a connecting line 8 and via a respective second firewallcomputer 3. The second firewall 9 b surrounds the intranet 32 associatedwith the firewall computer 3. The firewall computer 3 is visible on theInternet 10 at the Internet address khe.siemens.de, for example.

For the purpose of better illustration and explanation of the respectivetransmission direction for communication between client 1 and server 4and vice versa, the data link 6, 7, 8 between the client 1 and theserver 4 is shown in the form of two subchannels in FIG. 1. Thesesubchannels contain a first transmission channel 6 a, 7 a, 8 a, whichsymbolizes the communication direction from the client 1 to the server4, and a second transmission channel 6 b, 7 b, 8 b, which symbolizes thecommunication direction from the server 4 to the client 1. Physically,the two subchannels shown are a single transmission channel, i.e. thesame physical transmission channel is used for a response from theserver 4 to an associated request from the client 1 to the server 4.

The text below will use connection setup between the client 1 and theO&O server 4 as an example to explain the setup of a bi-directionaltransmission and reception connection between the client 1 and the O&Oserver 4 via the Internet 10 at mutually independent times. For this, anasynchronous method is used which allows the O&O server 4 to send datato the client 1, independently of actions by the client 1, which itselfdoes not need to be visible on the Internet 10, i.e. does not have itsown valid Internet address. To this end, the client 1 sends a firstrequest via the Internet 10 to the O&O server 4 using the firsttransmission channel 6 a, 7 a, 8 a, whereupon the O&O server 4 reactswith a response via the second transmission channel 6 b, 7 b, 8 b. Toprevent the response from being interrupted over time, and hence toprevent the data links 6, 7, 8 from being disconnected, the duration ofthe response is stretched to be of “infinite” length. To this end, thesystem is notified, by way of example, that other data also need to besent. This results in a permanently open data link 6, 7, 8 which the O&Oserver 4 and hence the automation system 5 can use to send data to theclient 1 and hence to the O&O system 1 asynchronously at any time andindependently of actions by the client 1. To keep the data link 6, 7, 8permanently open, it is also possible, by way of example, to send dummydata from the server 4 to the client 1 at regular intervals,advantageously every 25-35 seconds.

Independently of this permanently open data link 6, 7, 8, “normal”communication can also take place between the client 1 and the O&Oserver 4 via the Internet 10, i.e. the client 1 sends a request to theO&O server 4 using a new transmission channel, and the O&O server 4responds to this request with a corresponding response using thistransmission channel. When the data have been transmitted, the newtransmission channel is closed again. The client 1 and the O&O server 4can thus send and receive data bidirectionally at mutually independenttimes.

To control the data transmission, a transport protocol, particularly anInternet transport protocol, is used. Advantageously, the hypertexttransport protocol (HTTP) is used as the transport protocol in thisregard.

FIG. 2 shows the timing for setting up 26 a permanently open data link6, 7, 8 between a client 1 and an O&O server 4 to which an automationsystem 5, referred to by way of example as a PLC (=Programmable LogicController), is connected. The illustration uses UML (Unified ModellingLanguage) notation. In addition, FIG. 2 shows the bidirectionalcommunication which can be initiated by the client 1 and the O&O server4 at mutually independent times after the data link has been set up. Thetiming for setting up the data link is as follows: the client 1 sends arequest 11 to the server 4, which responds thereto with a response 12,this data link not being cleared down. In this regard, the client 1 isnotified, by way of example, that other data also need to be sent, as aresult of which this data link is kept permanently open. To keep thedata link permanently open, it is also possible, by way of example, tosend dummy data from the server 4 to the client 1 at regular intervals,particularly every 25-35 seconds, if no user data can be sent.

This allows the server 4 and the automation system 5 linked to theserver 4 to send data to the client 1 at any time independently of theclient 1. Following the response 12 from the server 4, the client 1sends a new request 13 to the server 4. To this end, a new data link isset up. The server 4 again responds with a response 14 (=synchronousbehavior). This data link is closed again after data transmission hasbeen effected. If required, the client 1 sends, by way of example, arequest 15 via the server 4, which is forwarded as a request 28 to thePLC 5. The PLC returns a response 29 to the server 4, which forwards itto the client 1 with a response 17 (=synchronous behavior). This datalink is likewise closed again after data transmission has been effected.

Independently thereof and in parallel therewith, the server 4 can usethe permanently open data link 12 to send the client 1 a message, e.g. areaction to an event 30 in the PLC 5, without the client 1 havingpreviously sent a request (=asynchronous callback 16). This would not bepossible with a “normal” HTTP link. This asynchronous callback 16 isalso possible between a request 15 and a response 17 which has not yetbeen given, particularly over time.

All in all, this results in user data communication 27 via the Internetin both directions, which can be initiated from both ends and can beeffected at mutually independent times. This makes it possible foravailable communication channels on the Internet also to be used in acustomary manner in the area of automation technology as an HMI (HumanMachine Interface) interface for operating and observation purposes. Oneadvantageous application which is suitable is the operating andobservation system WinCC from the company Siemens, for example. Theinventive system and method allow transmission of DCOM orders from theclient 1 to the Internet server 4. The particular feature in this regardis that the method allows the Internet server 4 to send DCOM events toits client 1 without the latter having a “genuine” address, i.e. onewhich is visible on the Internet. The client 1 thus does not need to bevisible on the Internet. It also does not need to have installed anInternet information server (IIS). No additional costs are thereforeneeded at the client end, since Internet browsers such as InternetExplorer from the company Microsoft or Netscape Communicator from thecompany Netscape, for example, are widely available. Data interchangebetween automation system and O&O user, for example for alarm purposes,thus does not require any specific special solutions.

In summary, the invention thus relates to a system and a method fortransmitting data via data networks, particularly the Internet,particularly data for operating and observing an automation system 5.For a bidirectional user data link even behind firewalls via theInternet in both directions, even from a client 1 which is not visibleas a server on the Internet, a method and a system are proposed in whicha first data processing apparatus associated with a client 1,particularly an operating and observation system 1, is used to send afirst connection request for setting up a first transmission channel 6a, 7 a, 8 a to an O&O server 4 in an automation system 5 via a data link6, 7, 8, particularly an Internet link. A response thereto is sent usinga second transmission channel 6 b, 7 b, 8 b. A period of use without anytime limitation is ensured for the data link 6, 7, 8 by virtue of thedata link 6, 7, 8 being maintained by transmitting dummy data even inthe absence of user data, for example, or by virtue of a client 1 beingsent information which notifies the client 1 that transmission of userdata is also intended. This results in a permanently open data link 6,7, 8 which the O&O server 4 and hence the automation system 5 can use tosend data to the client 1 and hence to the O&O system 1 asynchronouslyat any time and independently of actions by the client 1.

1. A method for transmitting data via data networks, comprising: sendingfrom a client a first connection request for setting up at least onefirst transmission channel to a server via at least one data link overat least one data network; maintaining the at least one data linkpermanently open for sending data from the server to the client via theat least one data network at any time independently of actions by theclient by transmitting dummy data from the server to the client when nouser data is transmitted, wherein the data link maintained by the serveris used to transmit data up to a stipulated volume to the client,wherein said transmitting sends a request for a new connection to theclient before the stipulated volume of data is reached; and sending fromthe client a new connection request for setting up at least one secondtransmission channel to the server in response to the request from theserver for a new connection.
 2. The method as claimed in claim 1,wherein said transmitting of the dummy data occurs every 25-35 secondsif no user data is transmitted.
 3. The method as claimed in claim 1,wherein said transmitting sends the client information notifying theclient that transmission of data is intended.
 4. The method as claimedin claim 1, wherein the stipulated volume of data to be transmitted viathe at least one first transmission channel is between 15 MB and 25 MB.5. The method as claimed in claim 4, wherein said sending andtransmitting are controlled by an Internet transport protocol.
 6. Themethod as claimed in claim 5, wherein the Internet transport protocolprovided is a hypertext transport protocol.
 7. The method as claimed inclaim 6, further comprising operating and observing an automation systemvia the at least one data network.
 8. The method as claimed in claim 7,wherein the client is not visible on the Internet.
 9. The method asclaimed in claim 8, wherein the client has not installed an Internetinformation server.
 10. The method as claimed in claim 7, furthercomprising communicating between the automation system and the server,wherein said sending is initiated by the client to establish the atleast one first transmission channel as a distributed object, andwherein the server is a DCOM server providing a DCOM connection to theautomation system.
 11. A system for transmitting data via at least onedata network, comprising: at least one data processing client, which canbe linked to the at least one data network, to set up at least one datalink including a first transmission channel, and a server, connectableto said at least one data processing client via the first transmissionchannel over the at least one data network, to maintain the at least onedata link to the client permanently open for sending data from saidserver to said client via the at least one data network at any timeindependently of actions by said client by transmitting dummy data whenno user data is transmitted, wherein said server sends informationnotifying said client that transmission of data is intended, topermanently maintain the at least one data link, wherein the firsttransmission channel may be used to transmit data up to a stipulatedvolume from said server to said client, and wherein said server sends arequest for a new connection to the client before the stipulated volumeof data is reached, to prompt said client to send a new connectionrequest for setting up at least one second transmission channel to saidserver, for the purpose of permanently maintaining the at least one datalink.
 12. The system as claimed in claim 11, wherein control of datatransmission uses an Internet transport protocol.
 13. The system asclaimed in claim 11, wherein the Internet transport protocol is ahypertext transport protocol.
 14. The system as claimed in claim 11,wherein said client operates and observes an automation system withinformation and control communicated via the at least one data network.15. The system as claimed in claim 14, wherein said client initiatesprovision of the first transmission channel as a DCOM object, andwherein said server is a DCOM server having a connection to theautomation system.
 16. The system as claimed in claim 14, wherein saidserver is connected to the automation system, and wherein said at leastone data processing client performs diagnostics on the information fromthe automation system communicated via the at least one data network.17. The method as claimed in claim 7, further comprising sendingoperational data from the automation system to the server, and whereinthe data sent from the server to the client via the at least one datanetwork includes the operational data of the automation system.
 18. Themethod as claimed in claim 17, further comprising performing diagnosticsat the client on the operational data of the automation system.
 19. Amethod for transmitting data via data networks connected to computers,comprising: sending, from a client behind data protection devices andnot visible to all of the computers connected by the data networks, afirst connection request for setting up at least one first transmissionchannel to a server via at least one data link over at least one datanetwork; operating and observing an automation system via the at leastone data network; maintaining the at least one data link permanentlyopen for sending data from the server to the client via the at least onedata network at any time independently of actions by the client bytransmitting dummy data from the server to the client when no user datais transmitted, wherein the data link maintained by the server is usedto transmit data up to a stipulated volume to the client, wherein saidtransmitting sends a request for a new connection to the client beforethe stipulated volume of data is reached; and sending from the client anew connection request for setting up at least one second transmissionchannel to the server in response to the request from the server for anew connection.